package com.message.service;

import com.github.pagehelper.PageInfo;
import com.message.VO.SampleInfoDTO;
import com.message.VO.SampleInfoUpdateVo;
import com.message.VO.SampleInfoVO;
import com.message.pojo.*;
import javafx.scene.shape.SVGPath;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName : SampleService  //类名
 * @Description :   //描述
 * @Author : yangqi  //作者
 * @Date: 2021-02-26 10:44  //创建时间
 * @modifier: //修改人
 * @modificationTime: //修改时间
 */
public interface SampleService {
    PageInfo<SampleInfoVO> findAll(SampleInfoDTO sampleInfoDTO,Integer pageNum, Integer pageSize);
    //查询所有毒素信息
    List<SampleToxinInfo> findAllToxinInfo();
    //查询所有农作物种类
    List<CropSpecies> findAllCropSpecies();
    //查询所有省份
    List<AddressProvince> findAllProvice();
    //根据省份code值查询市
    List<AddressCity> findCityByProvice(String code);
    //根据市code值查询县
    List<AddressTown> findCountyByCity(String code);
    //导出查询所有信息
    List<SampleInfoVO> findAll();
    //勾选导出
    List<SampleInfoVO> findByIdList(Integer[] idList);
    //新增主表
    int addSampleInfo(SampleInfo sampleInfo);
    //批量新增中间表
    int addSampleToxins(SampleToxin[] sampleToxins);
    //根据农作物品种查询id
    CropCategory findCropCategory(String cropCategory);
    //删除
    int deleteByIdList(Integer[] idList);
    //查询所有农作物类别
    List<CropCategory> findAllCropCategory();
    //批量添加bacter表
    int addBacterialStrainInfo(BacterialStrainInfo[] bacterialStrainInfos);
    //根据主表id双表联查 主表和毒素中间表
    SampleInfoUpdateVo findById(Integer id);
    //根据主表id查询BacterialStrainInfo
    List<BacterialStrainInfo> selectBacterialStrainInfo(Integer sampleId);
    //修改主表信息
    int updateSampleInfo(SampleInfo sampleInfo);
    //根据主表id删除sampletoxin
    int deleteToxinByPrimaryKey(Integer id);
    int insertBacterialStrainInfoByList( BacterialStrainInfo[] record);
    int deleteBacterialStrainInfoByPrimaryKey(Integer id);
}
